package com.hoshiicloud.market.entity.commission;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.ArrayList;

/**
 * @Author:campchen
 * @Date:Created in 上午 11:17 2019/7/25
 * @PACKAGENAME com.hoshiicloud.user.entity.commission
 * @Description
 */
@Data
public class Strategies {
    @ApiModelProperty(value = "策略编号")
    private String no;      //策略编号
    @ApiModelProperty(value = "策略版本")
    private String version; //策略版本
    @ApiModelProperty(value = "当前状态")
    private STATE status;   //当前状态
    @ApiModelProperty(value = "简要描述")
    private String describe;  //简要描述
    //优先级
    @ApiModelProperty(value = "优先级顺序")
    private CATE priority_first;    //优先级顺序
    @ApiModelProperty(value = "优先级顺序")
    private CATE priority_second;   //优先级顺序
    @ApiModelProperty(value = "优先级顺序")
    private CATE priority_third;    //优先级顺序
    //同级
    @ApiModelProperty(value = "优先级顺序")
    private String priority_sibling_first;   //优先级顺序
    @ApiModelProperty(value = "优先级顺序")
    private String priority_sibling_second;   //优先级顺序
    @ApiModelProperty(value = "优先级顺序")
    private String priority_sibling_third;   //优先级顺序

    @ApiModelProperty(value = "包含商品")
    private ArrayList<BigInteger> include_products; //包含商品
    @ApiModelProperty(value = "包含标签")
    private ArrayList<BigInteger> include_tags;     //包含标签
    @ApiModelProperty(value = "包含类别")
    private ArrayList<BigInteger> include_category; //包含类别


    //消费者等级，标签
    @ApiModelProperty(value = "消费者等级")
    private ArrayList<BigInteger> consumers_level; //消费者等级
    @ApiModelProperty(value = "消费者标签")
    private ArrayList<BigInteger> consumers_tag;    //消费者标签

    @ApiModelProperty(value = "计算方式")
    private BUY buy_states;         //计算方式
    @ApiModelProperty(value = "按金额")
    private BigDecimal con_amount; //按金额
    @ApiModelProperty(value = "按数量")
    private BigInteger con_qtys;   //按数量

    @ApiModelProperty(value = "1级分销")
    private Reward reward_sale_level1;   //1级分销
    @ApiModelProperty(value = "2级分销")
    private Reward reward_sale_level2;  //2级分销
    @ApiModelProperty(value = "合作伙伴")
    private Reward reward_partners;     //合作伙伴
    @ApiModelProperty(value = "销售奖励")
    private Reward reward_sales;        //销售奖励
    @ApiModelProperty(value = "渠道经费")
    private Reward reward_channel;      //渠道经费

    @Override
    public String toString() {
        return "{" +
                "\"no\":\"" + no + '\"' +
                ", \"version\":\"" + version + '\"' +
                ", \"status\":\"" + status + '\"' +
                ", \"describe\":\"" + describe + '\"' +
                ", \"priority_first\":\"" + priority_first + '\"' +
                ", \"priority_second\":\"" + priority_second + '\"' +
                ", \"priority_third\":\"" + priority_third + '\"' +
                ", \"priority_sibling_first\":\"" + priority_sibling_first + '\"' +
                ", \"priority_sibling_second\":\"" + priority_sibling_second + '\"' +
                ", \"priority_sibling_third\":\"" + priority_sibling_third + '\"' +
                ", \"include_products\":" + include_products +
                ", \"include_tags\":" + include_tags +
                ", \"include_category\":" + include_category +
                ", \"consumers_level\":" + consumers_level +
                ", \"consumers_tag\":" + consumers_tag +
                ", \"buy_states\":\"" + buy_states + '\"' +
                ", \"con_amount\":\"" + con_amount + '\"' +
                ", \"con_qtys\":\"" + con_qtys + '\"' +
                ", \"reward_sale_level1\":" + reward_sale_level1 +
                ", \"reward_sale_level2\":" + reward_sale_level2 +
                ", \"reward_partners\":" + reward_partners +
                ", \"reward_sales\":" + reward_sales +
                ", \"reward_channel\":" + reward_channel +
                '}';
    }
}
